/**
 * Project observer
 */


#include "Subject1.h"
#include "Observer.h"
#include <iostream>
using std::endl;
using std::cout;

/**
 * Subject1 implementation
 */


/**
 * @param Observer *
 * @return void
 */
void Subject1::attach(Observer * ob) {
    //添加
    _ober_list.push_back(ob);
}

/**
 * @param Observer *
 * @return void
 */
void Subject1::detach(Observer *ob) {
    if(ob)
    {
        _ober_list.remove(ob);
    }
}

/**
 * @return void
 */
void Subject1::notify() {
    for(auto it = _ober_list.begin(); it != _ober_list.end(); ++it)
    {
        (*it)->update(_status);
    }
    return;
}

/**
 * @return int
 */
int Subject1::getStatus() {
    return _status;
}

/**
 * @param status
 * @return void
 */
void Subject1::setStatus(int status) {
    _status = status;
}
